"""
正则表达式是字符串处理的有力工具，它使用预定义的模式去匹配一类具有的共同特征的字符串。
1. 元字符
    - . 匹配除换行符以外的任意单个字符
    - * 匹配位于 * 之前的字符或0次或多次出现的子模式
    - + 匹配位于 + 之前的字符或1次或多次出现的子模式
    - - 在[]之内用来表示范围
    - | 匹配位于 | 之前或之后的字符
    - ^ 匹配行首以^之后的字符开头的字符串
    - $ 匹配行尾以$之前的字符结束的字符串
    - ？匹配位于？之前的0个或1个字符
2. re 模块
    - match
    - search
    - findall
    - sub
    - split
"""
import re

str1 = 'one.two...three four'
# 使用小数点为分隔要素，将字符串进行分隔
print(re.split('[.]+', str1))
# 最多隔一次
print(re.split('[.]+', str1, maxsplit=1))
# 分隔出小写字母a至z和大写字母A-Z
paz = '[a-zA-Z]+'
# 查询符合条件的单词
print(re.findall(paz, str1))
# 将子串插入到字符串指定位置中
str2 = 'My name is {name}.'
print(re.sub('{name}', 'John', str2))
# 进行字符的替换
str3 = '1 一 壹'
print(re.sub('1|一|壹', 'one', str3))
# 找到指定内容进行替换新内容
str4 = 'Word排版软件可以拷贝字符串，拷贝方法：先选择拷贝的字符串，然后...'
print(re.subn('拷贝', '复制', str4))
# 找不到匹配的内容
print(re.search('Copy|复制', str4))
# 找到匹配的内容
print(re.search('拷贝|复制', str4))
